feat(tui): 增加 Todo 可视化面板#351
Conversation
# Conflicts: # internal/tui/core/app/app.go # internal/tui/core/app/update.go # internal/tui/core/app/update_test.go
| } | ||
|
|
||
| func (a *App) applyComponentLayout(rebuildTranscript bool) { | ||
| if a.layoutCached && a.cachedWidth == a.width && a.cachedHeight == a.height { |
There was a problem hiding this comment.
High – layout cache invalidation is incomplete
This early-return only checks width/height, but layout also depends on runtime state (activityPreviewHeight, todoPreviewHeight, command menu visibility, composer height). Callers like todo collapse/expand and activity visibility changes invoke applyComponentLayout(false) expecting reflow, but this branch skips recomputation, so panel bounds and hit areas can become stale until a window resize occurs.
Please include state-driven invalidation (or remove this short-circuit) so non-resize UI changes can re-layout immediately.
| textarea.Blink, | ||
| a.spinner.Tick, | ||
| tea.Tick(100*time.Millisecond, func(t time.Time) tea.Msg { | ||
| return tickMsg(t) |
There was a problem hiding this comment.
Medium – perpetual no-op tick loop
A new tea.Tick(100ms) is started here, and handleTickMsg re-schedules it forever, but the tick handler does not apply any state changes. This adds constant wakeups/renders with no functional effect.
If this is meant to drive deferred redraw, gate it behind an actual dirty flag and stop ticking when idle.
|
|
||
| // image capability precheck is intentionally disabled. | ||
| // 如果不是立即执行的命令,再执行常规的输入重置 | ||
| // 婵″倹鐏夋稉宥嗘Ц缁斿宓嗛幍褑顢戦惃鍕嚒娴犮倧绱濋崘宥嗗⒔鐞涘苯鐖剁憴鍕畱鏉堟挸鍙嗛柌宥囩枂 |
There was a problem hiding this comment.
Medium – comment encoding appears corrupted (mojibake)
Several newly edited comments in this file are now unreadable garbled text (for example this block and multiple function doc comments below). This hurts maintainability and violates the repo guideline requiring clear Chinese UTF-8 comments near new functions.
Please re-save/restore these comments with correct UTF-8 content.
| type slashCommand = tuicommands.SlashCommand | ||
| type commandSuggestion = tuicommands.CommandSuggestion | ||
|
|
||
| var builtinSlashCommands = []slashCommand{ |
There was a problem hiding this comment.
Medium – docs drift after removing slash commands
This PR removes /compact, /memo, /remember, /forget from builtin slash commands, but project docs still describe them as supported commands (e.g. README.md and docs under docs/).
Please update docs in the same PR to reflect current behavior and avoid user/operator confusion.
|
/code 解决review中提到的问题 |
处理结果已按 review 意见完成修复并推送到当前 PR 分支(commit:
验证已执行并通过:
未执行
|
|
@xgopilot 针对本次PR,请给我一份给AIreview用的提示词,针对的是修改中所有可能存在的风险点 |
给 AIreview 的提示词请作为严格的 Go/TUI 代码审查器,审查 PR #351( 审查目标:覆盖本 PR 所有潜在风险点,重点关注行为回归、边界条件、性能/稳定性、可维护性。 硬性要求:
请重点检查以下高风险面:
输出格式模板(严格遵循):
最后追加两段:
说明已按 |
|
@xgopilot 请作为严格的 Go/TUI 代码审查器,审查 PR #351( 审查目标:覆盖本 PR 所有潜在风险点,重点关注行为回归、边界条件、性能/稳定性、可维护性。 硬性要求:
请重点检查以下高风险面:
输出格式模板(严格遵循):
最后追加两段:
|
|
[high] internal/tui/core/app/update.go:1996 - 布局缓存仅按窗口尺寸命中,导致状态变化后不重算布局 [high] internal/tui/core/app/app.go:321 - 100ms 常驻 tick 循环无业务消费,形成空转 [high] internal/tui/core/app/update.go:48 - 面板焦点循环未纳入 Todo 面板 [medium] internal/tui/core/app/todo.go:111 - 未知状态排序被误判为最高优先级 [medium] internal/tui/core/app/update.go:1058 - Todo 事件会话归属在空 sessionID 场景存在误刷风险(需补充验证) [medium] internal/tui/core/app/update.go:833 - run 结束后的 Todo 同步吞错,可能残留旧状态 [medium] internal/tui/core/app/todo.go:59 - Todo 过滤能力在生产路径不可达 [low] internal/tui/core/app/update.go:468 - 注释出现乱码/编码污染,损害可维护性 Open Questions
Missing Tests
|
…ng/neo-code into codex/issue-266-header-render-fix # Conflicts: # internal/tui/core/app/update.go # internal/tui/core/app/update_test.go
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
…ng/neo-code into codex/issue-266-header-render-fix
…r-render-fix # Conflicts: # docs/tools-and-tui-integration.md # internal/tui/core/app/update.go # internal/tui/core/app/update_test.go
…ng/neo-code into codex/issue-266-header-render-fix
|
/code 帮我提升[internal/tui/core/app/update.go][internal/tui/core/app/view.go][internal/tui/core/app/app.go]文件覆盖率到百分之95以上 |
执行结果已补充 本次新增覆盖重点:
覆盖率结果(语句加权)
测试
未完成项
|
Generated with [codeagent](https://github.com/qbox/codeagent) Co-authored-by: creatang <165447160+creatang@users.noreply.github.com>
…ng/neo-code into codex/issue-266-header-render-fix
背景
主要变更
id/title/status/priority/owner/updated_atpending/in_progress/blocked/completed/failed/canceledstatus + priority + updated_at设计约束对齐
TUI -> Runtime边界:TUI 仅负责展示与轻交互测试
go test ./internal/tui/core/appgo test ./internal/tui/...影响范围
关联